home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / phagexsources.lha / codesegments / FastVec-Seg.s < prev    next >
Encoding:
Text File  |  1993-08-21  |  11.3 KB  |  761 lines

  1.     Opt    c-
  2.     Section    "Fast Vector Segment V2.0",Code_c
  3.  
  4. Start    Lea    ObjectPt(pc),a6
  5.     Move.l    a0,0(a6)
  6.     Move.l    a1,4(a6)
  7.     Move.l    a2,8(a6)
  8.     Lea    ZRot(pc),a6
  9.     Move.w    d0,0(a6)
  10.     Move.w    d1,2(a6)
  11.     Move.w    d2,4(a6)
  12.     Move.w    d3,6(a6)
  13.     Move.w    d4,8(a6)
  14.     Bra    SetObject
  15.  
  16. CalcVector    Lea    ZRot(pc),a0    
  17. TryAgain    Move.w    (a0),d0
  18.     Btst    #15,d0
  19.     Beq    OnZero    
  20.     Add.w    #360,(a0)
  21.     Bra    TryAgain
  22.     
  23. OnZero    Cmp.w    #359,(a0)
  24.     Ble    NotOverZRot    
  25.     Sub.w    #360,(a0)    
  26.     
  27. NotOverZRot    Move.l    ObjectPt(pc),a1
  28.     Lea    PointsAm(pc),a5
  29.     Move.w    (a1)+,(a5)
  30.     Lea    VecSineTable(pc),a3
  31.     Lea    RotPoints(pc),a4
  32.     Move.w    ZRot(pc),d5
  33.     Moveq.l    #9,d7
  34.     Add.w    d5,d5
  35.     Lea    SineVar1(pc),a5
  36.     Move.w    0(a3,d5.w),0(a5)
  37.     Add.w    #$B4,d5
  38.     Move.w    0(a3,d5.w),2(a5)
  39.     
  40. VecType3    Move.w    (a1)+,d0
  41.     Move.w    (a1)+,d1    
  42.     Asl.w    #5,d0
  43.     Asl.w    #5,d1
  44.     Moveq.l    #0,d2
  45.     Move.w    SineVar1(pc),d3
  46.     Move.w    SineVar2(pc),d4
  47.     Move.w    d3,d5
  48.     Move.w    d4,d6
  49.     Muls    d0,d4
  50.     Muls    d1,d3
  51.     Sub.l    d3,d4
  52.     Asr.l    d7,d4
  53.     Muls    d5,d0
  54.     Muls    d6,d1
  55.     Add.l    d0,d1
  56.     Asr.l    d7,d1
  57.     Move.w    d4,d0
  58.     Asr.w    #4,d2
  59.     Asr.w    #4,d0
  60.     Asr.w    #4,d1
  61.     Move.w    d2,a0
  62.     Moveq.l    #9,d4
  63.     Ext.l    d0
  64.     Lsl.l    d4,d0
  65.     Add.w    DistX(pc),d2
  66.     Add.w    #$0200,d2
  67.     Divs    d2,d0
  68.     Ext.l    d1
  69.     Lsl.l    d4,d1
  70.     Move.w    a0,d2
  71.     Add.w    DistY(pc),d2
  72.     Add.w    #$0200,d2
  73.     Divs    d2,d1
  74.     Add.w    XPos(pc),d0
  75.     Add.w    YPos(pc),d1
  76.     Move.w    d0,(a4)+
  77.     Move.w    d1,(a4)+
  78.     Lea    PointsAm(pc),a5
  79.     Sub.w    #1,(a5)
  80.     Bne    VecType3
  81.     Rts
  82.     
  83. SetObject    Move.l    ObjectPt(pc),a4
  84.     Moveq    #0,d0
  85.     Move.w    (a4)+,d0
  86.     Asl.w    #2,d0
  87.     Add.l    d0,a4
  88.     Lea    ConnectPtr(pc),a3
  89.     Move.l    a4,(a3)
  90.  
  91.     Bsr    SetCopperLists
  92.     Lea    $Dff000,a6
  93.     Move.w    #$f,$2E(a6)    
  94.     Bsr    CalcVector
  95.     Bsr    DoDrawLines
  96.     Move.w    ZRot(pc),d0
  97.     Rts
  98.     
  99. DoDrawLines    Lea    VV(pc),a4
  100.     Bsr    DoubleBuffer
  101.     Move.l    ConnectPtr(pc),a1
  102.     Lea    RotPoints(pc),a2
  103.     Lea    EndRotPoints(pc),a3
  104.     Move.w    (a1)+,d7
  105.     Subq    #1,d7
  106. DrawLineLoop    Move.w    (a1)+,d4
  107.     Move.w    (a1)+,d5
  108.     Add.w    d4,d4
  109.     Add.w    d4,d4
  110.     Add.w    d5,d5
  111.     Add.w    d5,d5
  112.     Movem.w    0(a2,d4.w),d0/d1
  113.     Movem.w    0(a2,d5.w),d2/d3
  114.     Cmp.w    d1,d3
  115.     Bpl.s    CheckSameY
  116.     Exg    d2,d0
  117.     Exg    d3,d1
  118. CheckSameY    Cmp.w    #0,d3
  119.     Bmi    DoNextConnect
  120.     Cmp.w    #$012B,d1
  121.     Bpl    DoNextConnect
  122.     Cmp.w    #0,d1
  123.     Bpl.s    ClipVec1
  124.     Sub.w    d2,d0
  125.     Sub.w    d3,d1
  126.     Move.w    d3,d4
  127.     Sub.w    #0,d4
  128.     Muls    d4,d0
  129.     Divs    d1,d0
  130.     Sub.w    d2,d0
  131.     Neg.w    d0
  132.     Move.w    #0,d1
  133.     Cmp.w    #$015F,d0
  134.     Bpl.s    ClipVec1
  135.     Bset    #4,Flags-VV(a4)
  136.     Move.w    d1,-(a3)
  137. ClipVec1    Cmp.w    #$012B,d3
  138.     Bmi.s    ClipVec2
  139.     Move.w    d2,d4
  140.     Sub.w    d0,d2
  141.     Move.w    d1,d5
  142.     Sub.w    d3,d5
  143.     Sub.w    #$012B,d3
  144.     Muls    d3,d2
  145.     Divs    d5,d2
  146.     Add.w    d4,d2
  147.     Move.w    #$012B,d3
  148.     Cmp.w    #$015F,d2
  149.     Bpl.s    ClipVec2
  150.     Bset    #4,Flags-VV(a4)
  151.     Move.w    d3,-(a3)
  152. ClipVec2    Cmp.w    #$015F,d0
  153.     Bpl.s    ClipVec3
  154.     Cmp.w    #0,d0
  155.     Bmi    ClipVec4
  156.     Cmp.w    #$015F,d2
  157.     Bpl    ClipVec5
  158.     Cmp.w    #0,d2
  159.     Bmi    SetCopperData
  160.     Bra    CopperLine1
  161.  
  162. ClipVec3    Cmp.w    #$015F,d2
  163.     Bpl    DoNextConnect1
  164.     Sub.w    d3,d1
  165.     Sub.w    d2,d0
  166.     Move.w    d2,d4
  167.     Sub.w    #$015F,d4
  168.     Muls    d4,d1
  169.     Divs    d0,d1
  170.     Sub.w    d3,d1
  171.     Neg.w    d1
  172.     Move.w    #$015F,d0
  173.     Bset    #2,Flags-VV(a4)
  174.     Move.w    d1,-(a3)
  175.     Cmp.w    #0,d2
  176.     Bmi    SetCopperData
  177.     Bra.s    CopperLine1
  178.  
  179. ClipVec4    Cmp.w    #0,d2
  180.     Bmi    DoNextConnect
  181.     Sub.w    d3,d1
  182.     Move.w    d2,d4
  183.     Sub.w    #0,d4
  184.     Sub.w    d2,d0
  185.     Muls    d4,d1
  186.     Divs    d0,d1
  187.     Sub.w    d3,d1
  188.     Neg.w    d1
  189.     Move.w    #0,d0
  190.     Cmp.w    #$015F,d2
  191.     Bpl    ClipVec5
  192.     Bra.s    CopperLine1
  193.  
  194. ClipVec5    Move.w    d3,d6
  195.     Sub.w    d1,d3
  196.     Move.w    d0,d5
  197.     Sub.w    d2,d5
  198.     Sub.w    #$015F,d2
  199.     Muls    d2,d3
  200.     Divs    d5,d3
  201.     Add.w    d6,d3
  202.     Move.w    #$015F,d2
  203.     Bset    #2,Flags-VV(a4)
  204.     Move.w    d3,-(a3)
  205.     Bra.s    CopperLine1
  206.  
  207. SetCopperData    Move.w    d3,d6
  208.     Sub.w    d1,d3
  209.     Move.w    d0,d5
  210.     Sub.w    d2,d5
  211.     Sub.w    #0,d2
  212.     Muls    d2,d3
  213.     Divs    d5,d3
  214.     Add.w    d6,d3
  215.     Move.w    #0,d2
  216. CopperLine1    Cmp.w    d1,d3
  217.     Beq    DoNextConnect
  218.     Addq.w    #1,d1
  219.     Move.l    #$10000,(a5)+
  220.     Move.w    d0,d5
  221.     Move.w    d1,d4
  222.     Muls    #$2C,d4
  223.     Asr.w    #3,d5
  224.     Add.w    d5,d4
  225.     Add.l    a6,d4
  226.     Move.w    #$4A,(a5)+
  227.     Move.w    d4,(a5)+
  228.     Move.w    #$56,(a5)+
  229.     Move.w    d4,(a5)+
  230.     Swap    d4
  231.     Move.w    #$48,(a5)+
  232.     Move.w    d4,(a5)+
  233.     Move.w    #$54,(a5)+
  234.     Move.w    d4,(a5)+
  235.     Move.w    d0,d5
  236.     And.w    #15,d5
  237.     Ror.w    #4,d5
  238.     Add.w    #$0B4A,d5
  239.     Move.w    #$40,(a5)+
  240.     Move.w    d5,(a5)+
  241.     Moveq.l    #0,d4
  242.     Sub.w    d2,d0
  243.     Bpl.s    CalcCop1
  244.     Neg.w    d0
  245.     Or.b    #1,d4
  246. CalcCop1    Sub.w    d3,d1
  247.     Bpl.s    CalcCop2
  248.     Neg.w    d1
  249.     Or.b    #2,d4
  250. CalcCop2    Cmp.w    d0,d1
  251.     Bmi.s    CheckOctants
  252.     Or.b    #4,d4
  253.     Exg    d0,d1
  254. CheckOctants    Move.b    Octants(pc,d4.w),d4
  255.     Add.w    d1,d1
  256.     Move.w    #$62,(a5)+
  257.     Move.w    d1,(a5)+
  258.     Sub.w    d0,d1
  259.     Bpl.s    SetDataInCop
  260.     Bset    #6,d4
  261. SetDataInCop    Move.w    #$42,(a5)+
  262.     Move.w    d4,(a5)+
  263.     Move.w    #$52,(a5)+
  264.     Move.w    d1,(a5)+
  265.     Move.w    d1,d3
  266.     Sub.w    d0,d1
  267.     Move.w    #$64,(a5)+
  268.     Move.w    d1,(a5)+
  269.     Lsl.w    #6,d0
  270.     Add.w    #$42,d0
  271.     Move.w    #$58,(a5)+
  272.     Move.w    d0,(a5)+
  273.     Bra.s    DoNextConnect
  274.  
  275. Octants    Dc.l    $1F1B1713
  276.     Dc.l    $0F070B03
  277. DoNextConnect    Dbra    d7,DrawLineLoop
  278.     Bra.s    FinalCopCalc
  279.  
  280. DoNextConnect1    Bset    #3,Flags-VV(a4)
  281.     Dbra    d7,DrawLineLoop
  282. FinalCopCalc    Btst    #2,Flags-VV(a4)
  283.     Beq.s    CopDataPlace
  284.     Lea    EndRotPoints(pc),a0
  285.     Cmp.l    a0,a3
  286.     Bne.s    CopDataPlace
  287.     Btst    #3,Flags-VV(a4)
  288.     Bne    EndCoordData
  289. CopDataPlace    Btst    #4,Flags-VV(a4)
  290.     Beq    CheckEndData
  291.     Btst    #3,Flags-VV(a4)
  292.     Beq    CheckEndData
  293.     Lea    EndRotPoints(pc),a0
  294.     Cmp.l    a0,a3
  295.     Bne    CheckEndData
  296.     Move.w    #$015F,d0
  297.     Move.w    #0,d1
  298.     Move.w    d0,d2
  299.     Move.w    #$012B,d3
  300.     Addq.w    #1,d1
  301.     Move.l    #$10000,(a5)+
  302.     Move.w    d0,d5
  303.     Move.w    d1,d4
  304.     Muls    #$2C,d4
  305.     Asr.w    #3,d5
  306.     Add.w    d5,d4
  307.     Add.l    a6,d4
  308.     Move.w    #$4A,(a5)+
  309.     Move.w    d4,(a5)+
  310.     Move.w    #$56,(a5)+
  311.     Move.w    d4,(a5)+
  312.     Swap    d4
  313.     Move.w    #$48,(a5)+
  314.     Move.w    d4,(a5)+
  315.     Move.w    #$54,(a5)+
  316.     Move.w    d4,(a5)+
  317.     Move.w    d0,d5
  318.     And.w    #15,d5
  319.     Ror.w    #4,d5
  320.     Add.w    #$0B4A,d5
  321.     Move.w    #$40,(a5)+
  322.     Move.w    d5,(a5)+
  323.     Moveq.l    #0,d4
  324.     Sub.w    d2,d0
  325.     Bpl.s    CalcCop1a
  326.     Neg.w    d0
  327.     Or.b    #1,d4
  328. CalcCop1a    Sub.w    d3,d1
  329.     Bpl.s    CalcCop2a
  330.     Neg.w    d1
  331.     Or.b    #2,d4
  332. CalcCop2a    Cmp.w    d0,d1
  333.     Bmi.s    CheckOctants1a
  334.     Or.b    #4,d4
  335.     Exg    d0,d1
  336. CheckOctants1a    Move.b    Octants1a(pc,d4.w),d4
  337.     Add.w    d1,d1
  338.     Move.w    #$62,(a5)+
  339.     Move.w    d1,(a5)+
  340.     Sub.w    d0,d1
  341.     Bpl.s    NoSet6Flag
  342.     Bset    #6,d4
  343. NoSet6Flag    Move.w    #$42,(a5)+
  344.     Move.w    d4,(a5)+
  345.     Move.w    #$52,(a5)+
  346.     Move.w    d1,(a5)+
  347.     Move.w    d1,d3
  348.     Sub.w    d0,d1
  349.     Move.w    #$64,(a5)+
  350.     Move.w    d1,(a5)+
  351.     Lsl.w    #6,d0
  352.     Add.w    #$42,d0
  353.     Move.w    #$58,(a5)+
  354.     Move.w    d0,(a5)+
  355.     Bra.s    CalcTheCopSet
  356.  
  357. Octants1a    Dc.l    $1F1B1713
  358.     Dc.l    $0F070B03
  359. CalcTheCopSet    Bra    EndCoordData
  360.  
  361. CheckEndData    Lea    EndRotPoints(pc),a0
  362.     Cmp.l    a0,a3
  363.     Bpl    EndCoordData
  364.     Movem.w    (a3)+,d1/d3
  365.     Cmp.w    d1,d3
  366.     Beq    DoCheckData
  367.     Move.w    #$015F,d0
  368.     Move.w    d0,d2
  369.     Cmp.w    d1,d3
  370.     Bpl.s    CheckYLine1
  371.     Exg    d2,d0
  372.     Exg    d3,d1
  373. CheckYLine1    Addq.w    #1,d1
  374.     Move.l    #$10000,(a5)+
  375.     Move.w    d0,d5
  376.     Move.w    d1,d4
  377.     Muls    #$2C,d4
  378.     Asr.w    #3,d5
  379.     Add.w    d5,d4
  380.     Add.l    a6,d4
  381.     Move.w    #$4A,(a5)+
  382.     Move.w    d4,(a5)+
  383.     Move.w    #$56,(a5)+
  384.     Move.w    d4,(a5)+
  385.     Swap    d4
  386.     Move.w    #$48,(a5)+
  387.     Move.w    d4,(a5)+
  388.     Move.w    #$54,(a5)+
  389.     Move.w    d4,(a5)+
  390.     Move.w    d0,d5
  391.     And.w    #15,d5
  392.     Ror.w    #4,d5
  393.     Add.w    #$0B4A,d5
  394.     Move.w    #$40,(a5)+
  395.     Move.w    d5,(a5)+
  396.     Moveq.l    #0,d4
  397.     Sub.w    d2,d0
  398.     Bpl.s    CalVars1
  399.     Neg.w    d0
  400.     Or.b    #1,d4
  401. CalVars1    Sub.w    d3,d1
  402.     Bpl.s    CalVars2
  403.     Neg.w    d1
  404.     Or.b    #2,d4
  405. CalVars2    Cmp.w    d0,d1
  406.     Bmi.s    CheckOctants1b
  407.     Or.b    #4,d4
  408.     Exg    d0,d1
  409. CheckOctants1b    Move.b    Octants1b(pc,d4.w),d4
  410.     Add.w    d1,d1
  411.     Move.w    #$62,(a5)+
  412.     Move.w    d1,(a5)+
  413.     Sub.w    d0,d1
  414.     Bpl.s    SetCopper1a
  415.     Bset    #6,d4
  416. SetCopper1a    Move.w    #$42,(a5)+
  417.     Move.w    d4,(a5)+
  418.     Move.w    #$52,(a5)+
  419.     Move.w    d1,(a5)+
  420.     Move.w    d1,d3
  421.     Sub.w    d0,d1
  422.     Move.w    #$64,(a5)+
  423.     Move.w    d1,(a5)+
  424.     Lsl.w    #6,d0
  425.     Add.w    #$42,d0
  426.     Move.w    #$58,(a5)+
  427.     Move.w    d0,(a5)+
  428.     Bra.s    DoCheckData
  429.  
  430. Octants1b    Dc.l    $1F1B1713
  431.     Dc.l    $0F070B03
  432. DoCheckData    Bra    CheckEndData
  433.  
  434. EndCoordData    Bclr    #2,Flags-VV(a4)
  435.     Bclr    #3,Flags-VV(a4)
  436.     Bclr    #4,Flags-VV(a4)
  437.     Move.l    a6,d0
  438.     Add.l    #$0338E,d0
  439.     Move.l    #$10000,(a5)+
  440.     Move.l    #$4009F0,(a5)+
  441.     Move.l    #$42001A,(a5)+
  442.     Move.l    #$640001,(a5)+
  443.     Move.l    #$660001,(a5)+
  444.     Move.l    #$44FFFF,(a5)+
  445.     Move.l    #$46FFFF,(a5)+
  446.     Move.w    #$52,(a5)+
  447.     Move.w    d0,(a5)+
  448.     Move.w    #$56,(a5)+
  449.     Move.w    d0,(a5)+
  450.     Swap    d0
  451.     Move.w    #$50,(a5)+
  452.     Move.w    d0,(a5)+
  453.     Move.w    #$54,(a5)+
  454.     Move.w    d0,(a5)+
  455.     Move.l    #$00584AD6,(a5)+
  456.     Move.l    #$00010000,(a5)+
  457.     Move.l    #$ffe1fffe,(a5)+
  458.     Move.l    #$3801fffe,(a5)+
  459.     Move.l    #$009c8010,(a5)+
  460.     Move.l    #$ffffFFFE,(a5)+
  461.     Rts
  462.  
  463. SetCopperLists    Move.l    PiccyBase1(pc),d0
  464.     Move.l    PiccyBase2(pc),d1
  465.     Lea    CopperList1(pc),a0
  466.     Lea    CopperList2(pc),a1
  467.     Lea    CopperBlitBPLS1(pc),a2
  468.     Lea    CopperBlitBPLS2(pc),a3    
  469.     Move.w    d0,6(a1)
  470.     Move.w    d0,6(a2)
  471.     Move.w    d1,6(a0)
  472.     Move.w    d1,6(a3)
  473.     Swap    d0
  474.     Swap    d1
  475.     Move.w    d0,2(a1)
  476.     Move.w    d0,2(a2)
  477.     Move.w    d1,2(a0)
  478.     Move.w    d1,2(a3)
  479.     Rts    
  480.  
  481. DoubleBuffer    Bchg    #0,Flags-VV(a4)
  482.     Btst    #0,Flags-VV(a4)
  483.     Bne    DBuffer1
  484.     Move.l    PiccyBase1(pc),a6
  485.     Lea    CopperList1(pc),a0
  486.     Move.l    a0,$Dff080
  487.     Lea    CopBlit1(pc),a5
  488.     Rts
  489.  
  490. DBuffer1    Move.l    PiccyBase2(pc),a6
  491.     Lea    CopperList2(pc),a0
  492.     Move.l    a0,$Dff080
  493.     Lea    CopBlit2(pc),a5
  494.     Rts    
  495.  
  496. VV    ; Var Pointer (pc)
  497.  
  498. SineVar1    Dc.w    0
  499. SineVar2    Dc.w    0
  500.  
  501. PointsAm    Dc.w    0
  502.  
  503. ZRot    Dc.w    10
  504. XPos    Dc.w    176
  505. YPos    Dc.w    148
  506. DistX    Dc.w    500
  507. DistY    Dc.w    500
  508.  
  509. ObjectPt    Dc.l    0
  510. PiccyBase1    Dc.l    $e0000
  511. PiccyBase2    Dc.l    $e4000
  512. ConnectPtr    Dc.l    0
  513. Flags    Dc.w    0
  514. Flags1    Dc.w    0
  515. Flags2    Dc.w    0
  516. Flags3    Dc.w    0
  517.  
  518. RotPoints    Ds.w    600
  519. EndRotPoints    Dc.w    0
  520.  
  521. Cmv    Macro
  522.     Dc.w    \2,\1
  523.     EndM
  524.     
  525. Cwt    Macro
  526.     Dc.w    (\1*$100)+$01,$fffe
  527.     EndM    
  528.     
  529. CwtBlit    Macro
  530.     Dc.w    $1,0
  531.     EndM    
  532.  
  533. Pal    Macro
  534.     Dc.w    $ffe1,$fffe
  535.     EndM    
  536.  
  537. EndCop    Macro
  538.     Dc.w    $ffff,$fffe
  539.     EndM    
  540.  
  541. CopperList1    Cmv    $0,BplPt0h
  542.     Cmv    $0,BplPt0l
  543.     Cmv    $0c71,DiwStrt
  544.     Cmv    $37d1,DiwStop
  545.     Cmv    $0030,DdfStrt
  546.     Cmv    $00d8,DdfStop
  547.  
  548.     Cmv    $1200,BplCon0
  549.     Cmv    $0000,BplCon1
  550.     Cmv    $0024,BplCon2
  551.     Cmv    $0,BplMod1
  552.     Cmv    $0,BplMod2
  553.  
  554.     Cmv    $0000,$1fe
  555.     Cmv    $0fff,$1fe
  556.         
  557.     CwtBlit    
  558.     Cmv    $01f0,BltCon0
  559.     Cmv    $0000,BltCon1
  560.     Cmv    $ffff,BltAFWM
  561.     Cmv    $ffff,BltALWM
  562.     Cmv    $0000,BltADat
  563. CopperBlitBPLS1    Cmv    $0000,BltDPth
  564.     Cmv    $0000,BltDPtl
  565.     Cmv    $0000,BltDMod
  566.     Cmv    $4ad6,BltSize
  567.     CwtBlit
  568.     Cmv    $002c,BltCMod
  569.     Cmv    $002c,BltDMod
  570.     Cmv    $ffff,BltBDat
  571.     Cmv    $8000,BltADat
  572.     
  573. CopBlit1    EndCop
  574.     Ds.l    $420
  575.  
  576. CopperList2    Cmv    $0,BplPt0h
  577.     Cmv    $0,BplPt0l
  578.     Cmv    $0c71,DiwStrt
  579.     Cmv    $37d1,DiwStop
  580.     Cmv    $0030,DdfStrt
  581.     Cmv    $00d8,DdfStop
  582.  
  583.     Cmv    $1200,BplCon0
  584.     Cmv    $0000,BplCon1
  585.     Cmv    $0024,BplCon2
  586.     Cmv    $0,BplMod1
  587.     Cmv    $0,BplMod2
  588.  
  589.     Cmv    $0000,$1fe
  590.     Cmv    $0fff,$1fe
  591.         
  592.     CwtBlit    
  593.     Cmv    $01f0,BltCon0
  594.     Cmv    $0000,BltCon1
  595.     Cmv    $ffff,BltAFWM
  596.     Cmv    $ffff,BltALWM
  597.     Cmv    $0000,BltADat
  598. CopperBlitBPLS2    Cmv    $0000,BltDPth
  599.     Cmv    $0000,BltDPtl
  600.     Cmv    $0000,BltDMod
  601.     Cmv    $4ad6,BltSize
  602.     CwtBlit
  603.     Cmv    $002c,BltCMod
  604.     Cmv    $002c,BltDMod
  605.     Cmv    $ffff,BltBDat
  606.     Cmv    $8000,BltADat
  607.     
  608. CopBlit2    EndCop
  609.     Ds.l    $420
  610.  
  611. VecSineTable    Incbin    Df1:SysData/VecSine.Data
  612.  
  613. ****Custom Chip Registers****
  614.  
  615. Hardware    = $Dff000
  616.  
  617. ;Control Registers
  618.  
  619. Dmaconr    = $002
  620. Vposr    = $004
  621. Vhposr    = $006
  622. Joy0dat    = $00A
  623. Joy1dat    = $00C
  624. Clxdat    = $00E
  625. Intenar    = $01C
  626. Intereqr    = $01E
  627. Copcon    = $02E
  628.  
  629. ;Blitter Registers
  630.  
  631. Bltcon0    = $040
  632. Bltcon1    = $042
  633. Bltafwm    = $044
  634. Bltalwm    = $046
  635. Bltcpth    = $048
  636. Bltcptl    = $04A
  637. Bltbpth    = $04C
  638. Bltbptl    = $04E
  639. Bltapth    = $050
  640. Bltaptl    = $052
  641. Bltdpth    = $054
  642. Bltdptl    = $056
  643. Bltsize    = $058
  644. Bltcmod    = $060
  645. Bltbmod    = $062
  646. Bltamod    = $064
  647. Bltdmod    = $066
  648. Bltcdat    = $070
  649. Bltbdat    = $072
  650. Bltadat    = $074
  651.  
  652. ;Copper Registers
  653.  
  654. Cop1lc    = $080
  655. Cop1lch    = $080
  656. Cop1lcl    = $082
  657. Cop2lc    = $084
  658. Cop2lch    = $084
  659. Cop2lcl    = $086
  660. Copjmp1    = $088
  661. Copjmp2    = $08A
  662. Diwstrt    = $08E
  663. Diwstop    = $090
  664. Ddfstrt    = $092
  665. Ddfstop    = $094
  666. Dmacon    = $096
  667. Clxcon    = $098
  668. Intena    = $09A
  669. Intreq    = $09C
  670.  
  671. ;BitPlane Registers 
  672.  
  673. BplCon0    = $100
  674. BplCon1    = $102
  675. BplCon2    = $104
  676. BplMod1    = $108
  677. BplMod2    = $10a
  678.  
  679. BplPt0h    = $0e0
  680. BplPt0l    = $0e2
  681. BplPt1h    = $0e4
  682. BplPt1l    = $0e6
  683. BplPt2h    = $0e8
  684. BplPt2l    = $0ea
  685. BplPt3h    = $0ec
  686. BplPt3l    = $0ee
  687. BplPt4h    = $0f0
  688. BplPt4l    = $0f2
  689. BplPt5h    = $0f4
  690. BplPt5l    = $0f6
  691.  
  692. ;Colour Registers
  693.  
  694. Color00    = $180
  695. Color01    = $182
  696. Color02    = $184
  697. Color03    = $186
  698. Color04    = $188
  699. Color05    = $18a
  700. Color06    = $18c
  701. Color07    = $18e
  702. Color08    = $190
  703. Color09    = $192
  704. Color10    = $194
  705. Color11    = $196
  706. Color12    = $198
  707. Color13     = $19a
  708. Color14     = $19c
  709. Color15     = $19e
  710. Color16     = $1a0
  711. Color17     = $1a2
  712. Color18     = $1a4
  713. Color19     = $1a6
  714. Color20     = $1a8
  715. Color21     = $1aa
  716. Color22     = $1ac
  717. Color23     = $1ae
  718. Color24     = $1b0
  719. Color25     = $1b2
  720. Color26     = $1b4
  721. Color27     = $1b6
  722. Color28     = $1b8
  723. Color29     = $1ba
  724. Color30     = $1bc
  725. Color31     = $1be
  726.  
  727. EcsNop    = $1fe
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.